package phi.engine.actors 
{
	import Box2D.Dynamics.b2Body;
	
	import flash.display.DisplayObject;
	import flash.display.DisplayObjectContainer;
	import flash.display.IBitmapDrawable;
	import flash.geom.Point;
	import flash.geom.Rectangle;
	
	import phi.engine.core.GameTime;
	import phi.engine.input.KeyboardState;
	import phi.engine.layers.ILayer;
	
	/**
	 * ...
	 * @author Alexandru Ghiura
	 */
	public interface IActor extends IBitmapDrawable
	{
		function get data():Object
		function set data(value:Object):void
		
		function get layer():ILayer
		function set layer(value:ILayer):void
			
		function update( gameTime:GameTime ):void;
		function draw( gameTime:GameTime ):void;
		function destroy():void;
		function handleInput():void;
		function changeOptions( newOptions:ActorOptions ):void
	}
	
}